package com.huahua.api.entity.pojo;

import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Column;
import org.springframework.data.relational.core.mapping.Table;

import java.time.LocalDateTime;

/**
 * @author Huahua-Ai
 * @date 2025-07-24 17:42:00
 * @description 云打印打印机实体
 */
@Data
@Accessors(chain = true)
@Table("cloud_print_printer")
public class CloudPrintPrinter {

    @Id
    private Long id;

    @Column("device_id")
    private String deviceId;

    @Column("printer_name")
    private String printerName;

    @Column("printer_uuid")
    private String printerUuid;

    @Column("make_and_model")
    private String makeAndModel;

    @Column("printer_uri")
    private String printerUri; // JSON字符串

    @Column("device_uri")
    private String deviceUri;

    @Column("state")
    private Integer state;

    @Column("state_message")
    private String stateMessage;

    @Column("state_reasons")
    private String stateReasons; // JSON字符串

    @Column("is_default")
    private Boolean isDefault;

    @Column("is_accepting")
    private Boolean isAccepting;

    @Column("is_shared")
    private Boolean isShared;

    @Column("location")
    private String location;

    @Column("info")
    private String info;

    @Column("printer_type")
    private Integer printerType;

    @Column("color_supported")
    private Boolean colorSupported;

    @Column("printer_attributes")
    private String printerAttributes; // JSON字符串

    @Column("marker_info")
    private String markerInfo; // JSON字符串

    @Column("created_at")
    private LocalDateTime createdAt;

    @Column("updated_at")
    private LocalDateTime updatedAt;

    @Column("is_active")
    private Boolean isActive;
}
